import java.util.Date;

// Key Value T ?

public class GenericTest {
    public static <T> void show(T t){
        System.out.println(t);
    }

//    private static int add(int a, int b) {
//        System.out.println(a + "+" + b + "=" + (a + b));
//        return a + b;
//    }
//
//    private static float add(float a, float b) {
//        System.out.println(a + "+" + b + "=" + (a + b));
//        return a + b;
//    }
//
//    private static double add(double a, double b) {
//        System.out.println(a + "+" + b + "=" + (a + b));
//        return a + b;
//    }


    private static <T extends Number> double add(T a, T b) {
        System.out.println(a + "+" + b + "=" + (a.doubleValue() + b.doubleValue()));
        return a.doubleValue() + b.doubleValue();
    }

    public static void main(String[] args) {
//        show("adult");
//        show(123);
//        show(new Object());
        show(new Date());
//        add(1L, 2L);
//        ObjectExample<Integer> example = new ObjectExample<>();
//        example.setA(123456);
//        show(example.getA().getClass());
    }
}
